Python 的数值类型(整数、长整数、浮点数和复数)

11,463次阅读

共计 1287 个字符,预计需要花费 4 分钟才能阅读完成。

在 Python 中有 4 种类型的数——整数、长整数、浮点数和复数。

2 是一个整数的例子。
长整数不过是大一些的整数。
3.23 和 52.3E- 4 是浮点数的例子。E 标记表示 10 的幂。在这里,52.3E- 4 表示 52.3 * 10-4。
(-5+4j)和 (2.3-4.6j) 是复数的例子。

整数

Python 语言的整数相当于 C 语言中的 long 型,在 32 位机器上,整数的位宽为 32 位,取值范围为 -231~231-1,即 -2147483648~2147483647;在 64 位系统上,整数的位宽通常为 64 位,取值范围为 -263~263-1,即 -9223372036854775808~9223372036854775807。

Python 中的整数不仅可以用十进制表示,也可以用八进制和十六进制表示。当用八进制表示整数时,数值前面要加上一个前缀“0”;当用十六进制表示整数时,数字前面要加上前缀 0X 或 0x。例如,我们这里将整数 15 分别以八进制和十六进制的形式赋给整型变量 a 和 b,然后再以十进制的形式输出它们:

[code lang="python"]

!/usr/bin/python

– coding: cp936 –

a = 017
b = 0xf

print "The value of the variable a decimal from %d " % a
print "The value of the variable b decimal from %d " % b
[/code]

与数值有关的字符串格式化字符及其作用如下所示:

d: 有符号十进制整数
u: 无符号十进制整数
o: 无符号八进制整数
x: 无符号十六进制整数,a~f 采用小写形式
X: 无符号十六进制整数,A~F 采用大写形式
f: 浮点数
e,E: 浮点数,使用科学计数法
g,G: 浮点数,使用最低有效数位

长整数

跟 C 语言不同,Python 的长整数没有指定位宽,也就是说 Python 没有限制长整数数值的大小,但是实际上由于机器内存有限,所以我们使用的长整数数值不可能无限大。

在使用过程中,我们如何区分长整数和整数数值呢?通常的做法是在数字尾部加上一个大写字母 L 或小写字母 l 以表示该整数是长整数的,例如:

a = 6812347598L
b = 6812347598l

可能已经发现,小写字母 l 和数字 1 看上去很难区分,所以一般推荐使用大写字母 L。

注意,自从 Python2.2 起,如果发生溢出,Python 会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母 L 也不会导致严重后果了。

浮点数

浮点数用来处理实数,即带有小数的数字。实数有两种表示形式,一种是十进制数形式,它由数字和小数点组成,并且这里的小数点是不可或缺的,如 1.23,123.0,0.0 等;另一种是指数形式,比如 789e3 或 789E3 表示的都是 789×103,字母 e(或 E)之前必须有数字,字母 e(或 E)之后可以有正负号,表示指数的符号,如果没有则表示正号;此外,指数必须为整数。

复数

复数由实数部分和虚数部分组成,一般形式为 x+yj,其中的 x 是复数的实数部分,y 是复数的虚数部分,这里的 x 和 y 都是实数。注意,虚数部分的字母 j 大小写都可以,如 5.6+3.1j,5.6+3.1J 是等价的。

全文完
 
西西
📝创作说明:本文由 西西 于2013-05-08发表,共计1287字。
🉑转载说明:本作品采用 “知识共享署名-非商业性使用 4.0 国际许可协议” 进行许可。除特殊说明外,您可以自由的转载和修改,但请务必注明来源且不可用于商业目的。